\documentclass[10pt,a4paper]{article} 

\usepackage{ctex} % 中文支持
\usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry} % 页边距
\usepackage{amsmath, amssymb} % 数学公式与符号
\usepackage{graphicx, verbatim}
%\usepackage{pythonhighlight}
\usepackage{url} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 插入代码
\usepackage{listings}
\usepackage{color}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{setspace}
\onehalfspacing
%\setlength{\parskip}{1em}  % 增加段落之间的间距为1em
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{titling}
\setlength{\droptitle}{-2cm} % 标题上移

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%文档的题目、作者与日期
\author{通义千问、五六七}
\title{数量金融实验 - 专题8 \\ 蒙特卡洛方法与控制变量法在欧式期权定价中的应用}
%\date{2025年10月10日}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\maketitle

\abstract{本文介绍蒙特卡洛方法与控制变量法，数值计算欧式期权的定价。}

\tableofcontents

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\setlength{\parskip}{1em}  % 增加段落之间的间距为1em

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\newpage 

\section{引言}

蒙特卡洛（Monte Carlo）方法是一种基于随机抽样的数值计算技术，广泛应用于金融衍生品定价。本文通过两个例子展示其在欧式看涨期权定价中的应用：第一个是基础的蒙特卡洛模拟；第二个引入\textbf{控制变量法}（Control Variates）以减小估计方差，提高计算效率。

\section{欧式期权定价的蒙特卡洛方法}

\subsection{模型设定}

考虑一个无股息支付的欧式看涨期权，其价格在风险中性测度下为：
\[
C = e^{-rT} \mathbb{E}^\mathbb{Q}[\max(S_T - K, 0)]
\]
其中 $S_T$ 是到期日 $T$ 的股票价格，服从几何布朗运动：
\[
S_T = S_0 \exp\left( (r - \frac{1}{2}\sigma^2)T + \sigma \sqrt{T} Z \right), \quad Z \sim N(0,1)
\]

\subsection{Python 实现：基础蒙特卡洛}

程序：\texttt{mc\_european\_call.py}

输出：

解析解期权价格: 1.409209

蒙特卡洛估计期权价格: 1.407408

相对误差: 0.001278


\section{使用控制变量法减小方差}

\subsection{方法原理}

控制变量法利用一个与目标变量高度相关且期望已知的辅助变量来减少估计方差。

我们选择\textbf{Black-Scholes 解析解}作为控制变量。设：
- $Y$：蒙特卡洛估计的期权 payoff（未贴现）
- $X$：BS 公式给出的理论价格（常数）

构造新估计量：
\[
\hat{C}_{\text{cv}} = \bar{Y} e^{-rT} + \theta (C_{\text{BS}} - \bar{Y} e^{-rT})
\]
最优 $\theta = -\mathrm{Cov}(Y, \bar{Y}) / \mathrm{Var}(\bar{Y})$，但更常用：
\[
\hat{C}_{\text{cv}} = e^{-rT} \left( \frac{1}{N}\sum_{i=1}^N \left[ \max(S_T^{(i)} - K, 0) + \theta (C_{\text{BS}} - C_{\text{MC}}^{(i)}) \right] \right)
\]
实践中，我们用样本协方差估计 $\theta$。


\subsection{Python 实现：控制变量法}

程序：\texttt{mccv\_european\_call.py}

输出：

解析解期权价格: 3.229777 

标准蒙特卡洛估计: 3.185329

标准蒙特卡洛相对误差: 0.013762

标准蒙特卡洛方差: 5.481004



控制变量法估计: 3.301732

控制变量法相对误差: 0.022279

控制变量法方差: 0.024826

方差缩减倍数: 220.78 倍

\section{结果分析}

控制变量法通过引入与 payoff 高度相关的已知信息（如 BS 价格），显著降低估计方差。

在实际应用中，即使没有解析解，也可使用近似解、历史均值或其他相关衍生品价格作为控制变量。

选择合适的控制变量和最优 $\theta$ 是关键。$\theta$ 可通过小规模预模拟（pilot run）估计协方差得到。

\section{总结}

蒙特卡洛方法灵活适用于复杂路径依赖期权，但收敛较慢。控制变量法是一种高效的方差缩减技术，能大幅提升计算精度和速度。结合使用两者，可在保证准确性的同时减少所需模拟路径数。

\end{document}

